<cfcomponent output="false">
    
    <cffunction name="init" access="public" returntype="SessionManager" output="false">
        <cfreturn this />
    </cffunction>
    
    <cffunction name="setValue" access="public" returntype="void" output="false">
        <cfargument name="name" type="String" required="true" />
        <cfargument name="value" type="Any" required="true" />
        <cfset setVariable( 'session.#arguments.name#', arguments.value ) />
    </cffunction>
    
    <cffunction name="getValue" access="public" returntype="Any" output="false">
        <cfargument name="name" type="String" required="true" />
		<cfreturn session[ arguments.name ] />
    </cffunction>
    
    <cffunction name="exists" access="public" returntype="boolean" output="false">
        <cfargument name="name" type="String" required="true" />
        <cfreturn structKeyExists( session, arguments.name )/>
    </cffunction>

</cfcomponent>